<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 动态this，调用者
        //静态this：
        // 箭头函数不会构建this，箭头函数中的this是一个引用，引用的是定义时的上下文对象
        //箭头函数在浏览器中进行定义时候，会层层寻找上下文，如果没有恒指向window
        
        var user={
            name:"user对象",
            printA:function(){
                console.log(this);
            },
            printB:() => {
                console.log(this);
            },
            printC:function(){
                "use strict";
                console.log(this);
                function showA(){
                    console.log(this);
                }
                let showB= () => {
                    console.log(this);
                };
                showA();
                showB();
            }
        };
        // user.printA();
        // user.printB();//window
        user.printC();

        var objA={
            name:"objA",
            print:function(){
                let f1 =() => {
                    let f2 = () => {
                        let f3 = () =>{
                            let f4 = () =>{
                                console.log(this);
                            };
                            f4();
                        };
                        f3();
                    };
                    f2();
                };
                f1();
            }
        };
        objA.print();

        function Student(name,age){
            this.name=name;
            this.age=age;
            function showA(){
                console.log(this);
            }
            showA();
            let showB = () => {
                console.log(this);
            };
            showB();
        }
        var stu1=new Student("波波",18);
        window.onload=function(){
            var btn=document.getElementById("btn");
            var _this=this;
            btn.onclick=function(){
                console.log(_this);
            };

            // btn.onclick= () =>{
            //     console.log(this);
            // };
        };
    </script>
</head>
<body>
    <input type="button" value="我是按钮" id="btn">
</body>
</html>